home *** CD-ROM | disk | FTP | other *** search
- /*============================================================
-
- Cel & Rotate sample program
-
- ============================================================*/
-
- #include "N_Library.h"
-
- WindowPtr CreateWindow (Str255 name);
-
-
- #define WindowSizeX 640
- #define WindowSizeY 480
-
- short NewWindowX;
- short NewWindowY;
-
- short Data_Rsrc = 0;
-
- long total_step = 0;
- long wait;
- short i,r=0;
- short x[80];
- short y[80];
- short sp[80];
-
- void main(void)
- {
- WindowPtr window;
-
-
- ToolboxInit();
- ColorCheck();
- HideMenuBar();
- window = CreateWindow("\pN Game Library <Cel & Rotate Sample>");
- N_Window_Set(window,NewWindowX,NewWindowY,WindowSizeX,WindowSizeY);
- Open_Resource_File(128,1,&Data_Rsrc);
- N_Sp_Make(640,480); //setup for sprite
- N_Cel_Make(200000); //setup for cel
- HideCursor();
- N_Pict_Draw(128,0,0,(GrafPtr)Main_Window,true);
- N_Sprite_Set(200,0,32,32,0,1,1,1); //set Sprite 0(rotation mode)
- N_Sprite_Set(201,1,32,32,0,1,1,0); //set Sprite 1
- N_Sprite_Set(202,2,32,32,0,1,1,0); //set sprite 2
- N_Pict_Draw(130,0,0,(GrafPtr)Main_Window,true);
- Close_Resource_File(&Data_Rsrc);
-
- for (i=0;i!=50;i++) //make random position
- {
- x[i] = GetRandom(0,640);
- y[i] = GetRandom(0,480+240)-120;
- sp[i] = GetRandom(1,5)*2;
- }
-
- do
- {
- total_step++;
-
- N_Sp_Put(0x80000000+1,(long)GetRandom(0,640)/32*32,(long)GetRandom(0,480)/32*32); //draw background
- N_Sp_Put(0x80000000+2,(long)GetRandom(0,640)/32*32,(long)GetRandom(0,480)/32*32);
-
- if (total_step<128) //move
- {
- for (i=0;i!=50;i++)
- {
-
-
- N_Cel_Put(i,0x80000000,x[i],y[i]);
-
- x[i] = x[i] + sp[i];
-
- if (x[i]>640)
- {
- x[i] = -32;
- y[i] = GetRandom(0,480+240)-120;
- }
- }
- }
-
- if (total_step>=128 && total_step<256) //rotation
- {
- for (i=0;i!=50;i++)
- {
-
-
- N_Cel_2D_Rot_Put(i,0x80000000,x[i],y[i],320,240,r);
- }
- r-=8;
- }
-
- if (total_step>=256 && total_step<384) //rotation & move 1
- {
- for (i=0;i!=50;i++)
- {
-
-
- N_Cel_2D_Rot_Put(i,0x80000000,x[i],y[i],320,240,r);
-
- x[i] = x[i] + sp[i];
-
- if (x[i]>640)
- {
- x[i] = -32;
- y[i] = GetRandom(0,480+240)-120;
- }
-
- }
- r+=8;
- }
-
- if (total_step>=384 && total_step<512) //rotation & move 2
- {
- for (i=0;i!=50;i++)
- {
-
-
- N_Cel_2D_Rot_Put(i,0x80000000,x[i],y[i],x[i]+16,y[i]+16,r);
- x[i] = x[i] + sp[i];
-
- if (x[i]>640)
- {
- x[i] = -32;
- y[i] = GetRandom(0,480+240)-120;
- }
- }
-
- r-=16;
- }
-
-
- if (total_step == 511)
- {
- total_step =0;
- r = 0;
- }
-
- N_Cel_Loop(0,0);
- }
- while (!Button());
-
- ShowMenuBar();
- ShowCursor();
- ColorRevert();
- }
-
-
-
- WindowPtr CreateWindow (Str255 name)
- {
- WindowPtr window;
- short centerX,centerY;
- short windowWidth,windowHeight;
-
-
- window = GetNewWindow (128,nil,(WindowPtr)-1L );
- centerX = (qd.screenBits.bounds.right -qd.screenBits.bounds.left)/2;
- centerY = (qd.screenBits.bounds.bottom -qd.screenBits.bounds.top)/2;
- SetWTitle(window,name);
- MoveWindow(window,NewWindowX=centerX-(WindowSizeX/2),NewWindowY=centerY-(WindowSizeY/2),false);
- SizeWindow(window,WindowSizeX,WindowSizeY,TRUE);
-
- ShowWindow(window);
- SetPort((GrafPtr)window );
- return (WindowPtr)window;
- }
-
-
-